package com.geekhalo.admin.domain.user.update;

import com.geekhalo.lego.core.command.CommandService;
import com.geekhalo.lego.core.command.CommandServiceDefinition;
import com.geekhalo.lego.core.command.CommandMethodDefinition;

import com.geekhalo.admin.domain.user.User;
import com.geekhalo.admin.domain.user.UserCommandRepository;

import com.geekhalo.admin.domain.user.update.UpdateUserCommand;
import com.geekhalo.admin.domain.user.update.UpdateUserContext;
import java.lang.Void;


@CommandServiceDefinition(domainClass = User.class, repositoryClass = UserCommandRepository.class)
public interface UpdateUserService
    extends CommandService<UpdateUserCommand, Void> {

    @Override
    @CommandMethodDefinition(contextClass = UpdateUserContext.class)
    Void execute(UpdateUserCommand command);
}
